package org.example;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class HtmlParserApplication {

    //解析HTML文件小工具
    public static void main(String[] args) {
        try {
            // 读取 HTML 文件
            File inputFile = new File("C:\\Users\\QCY\\Desktop\\input.txt"); // 将路径替换为你的 HTML 文件路径
            if (!inputFile.exists()) {
                System.out.println("HTML 文件未找到！");
                return;
            }

            // 解析 HTML 文件
            Document doc = Jsoup.parse(inputFile, "UTF-8");

            // 选择 <ul> 标签下的所有 <li>
            Elements listItems = doc.select("ul > li");

            // 创建输出文件
            File outputFile = new File("C:\\Users\\QCY\\Desktop\\output.txt");
            try (BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile))) {

                Integer count=0;
                // 遍历 <li> 元素
                for (Element li : listItems) {
                    // 获取 <a> 标签
                    Element anchor = li.selectFirst("a");
                    if (anchor != null) {
                        // 提取 <a> 下的所有 <span>
                        Elements spans = anchor.select("span");
                        if (spans.size() >= 2) {
                            // 获取第二个 <span> 的内容
                            count++;
                            String secondSpanText = spans.get(1).text();
                            System.out.println("获取的文本: " + secondSpanText);

                            // 将内容写入到文件（换行分隔）
                            writer.write(secondSpanText);
                            writer.newLine();
                        }
                    }
                }
                // 写入总数
                writer.write("总共:"+count+"个");
                System.out.println("总共:"+count+"个");
            }
            System.out.println("数据已成功写入到文件：" + outputFile.getAbsolutePath());

        } catch (IOException e) {
            // 捕获解析 HTML 或文件操作的异常
            System.err.println("发生错误：" + e.getMessage());
        }
    }
}
